home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.text;
-
- import java.awt.Point;
- import java.awt.Rectangle;
- import java.awt.event.ActionEvent;
- import javax.swing.text.Position.Bias;
-
- class DefaultEditorKit$NextVisualPositionAction extends TextAction {
- private boolean select;
- private int direction;
-
- DefaultEditorKit$NextVisualPositionAction(String var1, boolean var2, int var3) {
- super(var1);
- this.select = var2;
- this.direction = var3;
- }
-
- public void actionPerformed(ActionEvent var1) {
- JTextComponent var2 = ((TextAction)this).getTextComponent(var1);
- if (var2 != null) {
- Caret var3 = var2.getCaret();
- DefaultCaret var4 = var3 instanceof DefaultCaret ? (DefaultCaret)var3 : null;
- int var5 = var3.getDot();
- Position.Bias[] var6 = new Position.Bias[1];
-
- try {
- if (var3 != null && (this.direction == 1 || this.direction == 5)) {
- Point var7 = var3.getMagicCaretPosition();
- if (var7 == null) {
- Rectangle var8 = var4 != null ? var2.getUI().modelToView(var2, var5, var4.getDotBias()) : var2.modelToView(var5);
- var7 = new Point(var8.x, var8.y);
- var3.setMagicCaretPosition(var7);
- }
- }
-
- var5 = var2.getUI().getNextVisualPositionFrom(var2, var5, var4 != null ? var4.getDotBias() : Bias.Forward, this.direction, var6);
- if (var6[0] == null) {
- var6[0] = Bias.Forward;
- }
-
- if (var4 != null) {
- if (this.select) {
- var4.moveDot(var5, var6[0]);
- } else {
- var4.setDot(var5, var6[0]);
- }
- } else if (this.select) {
- var3.moveDot(var5);
- } else {
- var3.setDot(var5);
- }
-
- if (this.direction == 3 || this.direction == 7) {
- var2.getCaret().setMagicCaretPosition((Point)null);
- }
- } catch (BadLocationException var9) {
- }
- }
-
- }
- }
-